An error correction code (ECC) may be used to protect data or recover from errors related to a medium via which the data was either transmitted or stored. For example, data may be encoded using an ECC to possibly recover from errors associated with wired/wireless communications, storage to memory devices/mediums or optical readers such as 2-dimensional bar code readers. ECC encoded data received by either reading data from a memory device/medium or barcode or received via a wired/wireless communication channel may be able to identify and correct up to a given number of errors. Typically, ECC encoded data may include codewords having a combination of data and redundant or parity bits or symbols. Depending on the size of a given codeword and the level of protection desired, codewords may vary in size and also may vary in the complexity of algorithms used to recover from possible errors.
Errors in a given period of time may be referred to as a bit error rate (BER) or raw bit error rate (RBER). Technological advances in digital signal transmissions that have greatly increased data transmission speeds have also increased the possibility of a higher BER or RBER. Also, memory storage/medium technologies have resulted in increasingly denser (e.g., higher storage capacity per memory device or die) storage that may also lead to an increased possibility of a higher RBER. In order to reduce the impacts of possibly higher RBERs, data may be encoded in larger codewords. However, these larger codewords may have more parity bits. Large codewords with more parity bits may require complex algorithms implemented with increasing amounts of computing resources and increased latency to correct bits errors.